package com.demo.arch.datapulsedemo.common;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 通知上下文
 * 
 * 包含发送通知所需的所有信息
 * 
 * @author DataPulse Team
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NotificationContext {

  /**
   * 报表类型
   */
  private String reportType;

  /**
   * 邮件主题
   */
  private String subject;

  /**
   * 邮件内容
   */
  private String content;

  /**
   * 附件路径
   */
  private String attachmentPath;

  /**
   * 收件人列表
   */
  private List<NotificationRecipient> recipients;

  /**
   * 相关数据
   */
  private List<OrderData> relatedData;

  /**
   * 发送时间
   */
  private java.time.LocalDateTime sendTime;

  /**
   * 重要程度
   */
  private int priority;

  /**
   * 是否需要回执
   */
  private boolean requireReceipt;

  /**
   * 发件人
   */
  private String sender;

  /**
   * 发件人邮箱
   */
  private String senderEmail;
}
